#include "paint.h"
void paintBackground()
{
     //-----------------------------------布置背景--------------------------
    for(int i=1;i<=50;i=i+1)//i=hang
    {
        for(int j=1;j<=50;j++)//j=lie
        {
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0xD) ;
            if(i==1||i==50||j==1||j==50)
            {
                SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0xF) ;
            }
            COORD coord;
            coord.X = i;  //第1行
            coord.Y = j;  //第i列
            //获取控制台缓冲区句柄
            HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandle, coord);
            puts("?"); 
        }
    }
}

//-----------------------------------------设置蛇窝点------------------------------
void paintStart()
{
    
    coorD.X = 25;  //第1行
    coorD.Y = 25;  //第i列
    coorD_1.X = 24;
    coorD_1.Y = 25;
    coorD_2.X = 23;
    coorD_2.Y = 25;
    //获取控制台缓冲区句柄
    HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    //设置光标位置
    SetConsoleCursorPosition(ConsoleHandle, coorD);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
    puts("@"); 
    SetConsoleCursorPosition(ConsoleHandle, coorD_1);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
    puts("@"); 
    SetConsoleCursorPosition(ConsoleHandle, coorD_2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
    puts("@"); 
}   
//----------------------------------------键盘监听------------------------------

void GetInput()
{
    char ch;
    int i = 0;//循环监听，直到按Esc键退出
    while(1)
    {
        if(kbhit())
        {  //检测缓冲区中是否有数据
            ch = getch();  //将缓冲区中的数据以字符的形式读出 
            switch (ch)
            {
                case 97 :coorD_W=coorD_2;coorD_2=coorD_1;coorD_1=coorD;coorD.X = coorD.X-1;  break; //a左移
                case 115:coorD_W=coorD_2;coorD_2=coorD_1;coorD_1=coorD;coorD.Y = coorD.Y+1;  break; //s下移
                case 119:coorD_W=coorD_2;coorD_2=coorD_1;coorD_1=coorD;coorD.Y = coorD.Y-1;  break; //w上移
                case 100:coorD_W=coorD_2;coorD_2=coorD_1;coorD_1=coorD;coorD.X = coorD.X+1;  break; //d右移
            }
            HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);  
            SetConsoleCursorPosition(ConsoleHandle, coorD_W);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0xD) ;
            puts("?"); 
            SetConsoleCursorPosition(ConsoleHandle, coorD_1);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
            puts("@"); 
            SetConsoleCursorPosition(ConsoleHandle, coorD_2);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
            puts("@"); 
            SetConsoleCursorPosition(ConsoleHandle, coorD);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),1) ;
            puts("@"); 
        }
        //Sleep(1000);  //暂停1秒
    }
}
